Seth Foster
301807466d
Only get receptor.conf lock in k8s environment
...
- Writing to receptor.conf only takes place in K8S, so only get a
lock if IS_K8S is true
2022-09-23 09:46:15 -04:00
Seth Foster
e0c9013d9c
Prevent altering certain fields on Instance
...
- Prevents changing hostname, listener_port, or node_type for instances
that already exist
- API default node_type is execution
- API default node_state is installed
2022-09-23 09:46:15 -04:00
Kia Lam
9c6aa93093
Remove action items from Instance peers list.
2022-09-23 09:46:15 -04:00
Kia Lam
4a41098b24
Add health check toast notification for Instance list and detail views.
2022-09-23 09:46:15 -04:00
Kia Lam
0510978516
Use reusable HealthCheckAlert component.
2022-09-23 09:46:15 -04:00
Kia Lam
6009d98163
Modify proxy config to allow UI to point to named sites.
2022-09-23 09:46:15 -04:00
Alex Corey
532ad777a3
Resolves peers list search bug
2022-09-23 09:46:15 -04:00
Kia Lam
b4edfc24ac
Add more helper unit tests.
2022-09-23 09:46:14 -04:00
Jeff Bradberry
0e578534fa
Update the instance install bundle requirements.yml
...
to point to the 0.1.0 release of ansible.receptor.
2022-09-23 09:46:14 -04:00
Alex Corey
6619cc39f7
properly deprovisions instance
2022-09-23 09:46:14 -04:00
Kia Lam
d4b25058cd
Add update node logic; fix JSX formatting on SVG elements.
2022-09-23 09:46:14 -04:00
Kia Lam
c1ba769b20
Add enabled and disabled node states to legend.
2022-09-23 09:46:14 -04:00
Kia Lam
fd10d83893
Account for node state of 'unavailable' in the UI.
2022-09-23 09:46:14 -04:00
Hao Liu
b1168ce77d
update receptor collection role name in install bundle
2022-09-23 09:46:14 -04:00
Seth Foster
1fde9c4f0c
add firewall rules to control node
2022-09-23 09:46:14 -04:00
Kia Lam
03685e51b5
Fix Instance Detail StatusLabel to show node_state.
2022-09-23 09:46:14 -04:00
Jeff Bradberry
08c18d71bf
Move InstanceLink creation and updating to the async tasks
...
So that they get applied in situations that do not go through the API.
2022-09-23 09:46:14 -04:00
Seth Foster
dfe6ce1ba8
remove tests that assume health check runs in view
2022-09-23 09:46:14 -04:00
Seth Foster
eaa4f2483f
Run instance health check in task container
...
awx-web container does not have access to receptor socket, and the
execution node health check requires receptorctl.
This change runs the health check asynchronously in the task container.
2022-09-23 09:46:14 -04:00
Jeff Bradberry
68a44529b6
Register pages for the Instance peers and install bundle endpoints
...
This includes exposing a new interface for Page objects, Page.bytes,
to return the full bytestring contents of the response.
2022-09-23 09:46:14 -04:00
Alex Corey
25afb8477e
Adds functionality to deprovision an instance from list and details view
2022-09-23 09:46:14 -04:00
Jeff Bradberry
f3a9d4db07
Assign a default queue to wait_for_jobs()
2022-09-23 09:46:14 -04:00
Kia Lam
cb49eec2b5
Allow k8s to create Instance Groups.
2022-09-23 09:46:13 -04:00
Kia Lam
3333080616
Remove 'hop' node type from Add Instance form.
2022-09-23 09:46:13 -04:00
Kia Lam
e2b9352dad
Replace Chip with Label component for IG labels.
2022-09-23 09:46:13 -04:00
Kia Lam
da945eed93
Fix node state.
2022-09-23 09:46:13 -04:00
Jeff Bradberry
ebd200380a
Resolve a deadlock in write_receptor_config()
2022-09-23 09:46:13 -04:00
Jeff Bradberry
1b650d6927
When deprovisioning a node, kick off a task that waits on running jobs
...
After all jobs on the node are complete, delete the node then
broadcast the write_receptor_config task.
Also, make sure that write_receptor_config updates the state of links
that are in 'adding' state.
2022-09-23 09:46:13 -04:00
Jeff Bradberry
b6946c7e35
Update API to support setting instances to Deprovisioning
...
- allow the node_state to be set to deprovisioning
- set the links that touch the instance to removing
- only allow on K8S
- only allow to be done to execution nodes
2022-09-23 09:46:13 -04:00
Hao Liu
0b1891d82a
generate complete install bundle
...
```
➜ 34.213.5.206_install_bundle git:(instance-install-bundle-content) ✗ tree
.
├── install_receptor.yml
├── inventory.yml
├── receptor
│ ├── tls
│ │ ├── ca
│ │ │ └── receptor-ca.crt
│ │ ├── receptor.crt
│ │ └── receptor.key
│ └── work-public-key.pem
└── requirements.yml
```
Signed-off-by: Hao Liu <haoli@redhat.com>
2022-09-23 09:46:13 -04:00
Jeff Bradberry
3bc86ca8cb
Follow up on new execution node creation
...
- hop nodes are descoped
- links need to be created on execution node creation
- expose the 'edit' capabilities on the instance serializer
2022-09-23 09:46:13 -04:00
Kia Lam
dba03616f4
Fix unit tests.
2022-09-23 09:46:13 -04:00
Kia Lam
a59aa44249
Update status label to reflect instance node states.
2022-09-23 09:46:13 -04:00
Seth Foster
3b024a057f
Allow work signing for execution node ( #12771 )
...
- work-signing added to the generated receptor config
- During receptor task submission, signwork is True when submitting to
an execution node
2022-09-23 09:46:13 -04:00
Kia Lam
e1c33935fb
Properly show Peers tab in UI.
2022-09-23 09:46:13 -04:00
Kia Lam
8ebeeaf148
Add correct permissions for memory capacity slider.
2022-09-23 09:46:13 -04:00
Kia Lam
28f24c8811
Represent enabled field in Topology View:
...
- use dotted circles to represent `enabled: false`
- use solid circle stroke to represent `enabled: true`
- excise places where `Unavailable` node state is used in the UI.
2022-09-23 09:46:12 -04:00
Kia Lam
89a6162dcd
Add new node details; update legend.
2022-09-23 09:46:12 -04:00
Alex Corey
7e627e1d1e
Adds Instance Peers Tab and update Instance Details view with more data ( #12655 )
...
* Adds InstancePeers tab and updates details view
* attempt to fix failing api tests
2022-09-23 09:46:12 -04:00
Jeff Bradberry
0465a10df5
Deal with exceptions when running execution_node_health_check ( #12733 )
2022-09-23 09:46:12 -04:00
Hao Liu
5051224781
conditionally show install_bundle link for instances ( #12679 )
...
- only show install_bundle link for k8s
- only show install_bundle link for execution and hop nodes
2022-09-23 09:46:12 -04:00
TheRealHaoLiu
7956fc3c31
add instance install bundle endpoint
...
add scaffolding for instance install_bundle endpoint
- add instance_install_bundle view (does not do anything yet)
- add `instance_install_bundle` related field to serializer
- add `/install_bundle` to instance URL
- `/install_bundle` only available for execution and hop node
- `/install_bundle` endpoint response contain a downloadable tgz with moc data
TODO: add actual data to the install bundle response
Signed-off-by: Hao Liu <haoli@redhat.com>
2022-09-23 09:46:12 -04:00
Shane McDonald
9b034ad574
generate control node receptor.conf
...
when a new remote execution/hop node is added
regenerate the receptor.conf for all control node to
peer out to the new remote execution node
Signed-off-by: Hao Liu <haoli@redhat.com>
Co-Authored-By: Seth Foster <fosterseth@users.noreply.github.com>
Co-Authored-By: Shane McDonald <me@shanemcd.com>
2022-09-23 09:46:12 -04:00
Kia Lam
4bf9925cf7
Topology changes:
...
- add new node and link states
- add directionality to links
- update icons
2022-09-23 09:46:12 -04:00
Alex Corey
d2c63a9b36
Adds tests
2022-09-23 09:46:12 -04:00
Alex Corey
5d3a19e542
Adds Instance Add form
2022-09-23 09:46:12 -04:00
Jeff Bradberry
e4518f7b13
Changes in posting constraints due to rescoping to OCP/K8S-only
...
- node_state is now read only
- node_state gets set automatically to Installed in the create view
- raise a validation error when creating on non-K8S
- allow SystemAdministrator the 'add' permission for Instances
- expose the new listener_port field
2022-09-23 09:46:12 -04:00
Sarabraj Singh
350efc12f5
machinery to allow POSTing payloads to instances/ endpoint
2022-09-23 09:46:12 -04:00
Jeff Bradberry
604fac2295
Update task management to only do things with ready instances
2022-09-23 09:46:11 -04:00
Jeff Bradberry
24bfacb654
Check state when processing receptorctl advertisements
...
Nodes that show up and were in one of the unready states need to be
transitioned to ready, even if the logic in Instance.is_lost was not
met.
2022-09-23 09:46:11 -04:00