In docker, its clear that i can pull other people's images and run them.
But somehow, docker seems to know if i've ever pushed a layer , and is able to skip pushing that image. I thus have two questions :
How does dockerhub store image hashes - are the image hashes shared between docker users , or local to a given user ? That is , is it capable of forking an image from "user a" on to "user b" ? Or does "user a" have his own unique set of hashes...? And furthermore, what happens if "user a" removes his original image - will "user b"'s image be compromised - or does dockerhub store images permanantly ?
Is there any chance of collision between image hashes ?
For clarity ive created a diagram of the particular question im curious about. In this diagram, is jims_images permanantly dependent on bobs_image? What if bob deletes his dockerhub account?
No, I don't think jims_images permanantly dependent on bobs_image.
If you want to achieve this, better to docker way to use Dockerfile for jims_images.
FROM bobs_image
Then each time, if you rebuild the image (auto in dockerhub), then it will kepp dependance
Related
We had some projects deleted in Azure DevOps and we restored them, however all the widgets in the dashboard are broken. Is there a way to recover them or do we have to rebuild?
The dashboard does report across 3 projects, all of which were deleted then restored.
I receive a message about a / in a project title, but the project title I see does not have a /.
I have searched the User Guide and cannot seem to find the answer on this or one that explains the error message.
enter image description here
#wadezhou Cloud service. The error message says 'Widget error 400: The query configuration is invalid or number of work items returned exceeds the size limit.' (link above) I don't believe it is due to work items because I don't believe any work items have been added (these projects are just a proof of concept) and it was working before they were deleted. I have not tried to create a new widget - I will try that and see if it works and let you know. I'm not sure to tell if it's TFVC or git? It is Agile.
Here is a screenshot of the error where it mentions the / (when I go into the query):
error detailing /
When I try to create new widgets on the dashboard one works and one doesn't:
enter image description here
From what I can tell - it seems Git is the default type, and I have not changed it from whatever default would be.
I'd like to configure the Adobe Cloud Manager production pipeline to invalidate the whole dispatcher cache. What paths do I have to give at the production pipeline dispatcher invalidation configuration to have that done? Is it possible to give a pattern here that matches everything? The page-invalidate description talks about a path-pattern, but doesn't describe what exactly that means.
We work with statfilelevel=2. It seems the .stat files are very important for that, though the description given here is unfortunately not precise enough, not sure I understand that right.
I tried to configure /content as path - that just touches /mnt/var/www/html/.stat (/mnt/var/www/html is the docroot), which seems to apply to nodes like /* but not like /content/* .
If I give /content/oursite, that touches /mnt/var/www/html/content/.stat , too, but that does seem to apply to nodes like /content/oursite or /content/othersite, but not to pages like /content/oursite/about - for which would /mnt/var/www/html/content/oursite/.stat be relevant, if I understand that right.
Do I seriously have to enumerate a page in each site that has a .stat file, or is there a more sensible way to get everything invalidated? After all, a deployment could easily change the HTML of every page if a component has changed.
If you have ACS commons installed then you can try to use this powerful feature
https://adobe-consulting-services.github.io/acs-aem-commons/features/dispatcher-flush-rules/index.html
I am starting from the position of near absolute ignorance here.
I successfully set up a Bluemix account, added devices, got API keys, connected my Raspberry Pi running Node Red and a temperature sensor to Node Red on Bluemix, created a dashboard and was able to get data back and forth between Watson/Bluemix and my Pi. Cool. Unfortunately, I got all that way without ever really understanding the navigation of Watson/Bluemix nor all the terminology. I made NR work both ways and was happy.
Then one day last week, the route to my Bluemix Node Red application stopped being accessible:
404 Not Found: Requested route ('misterpi-01.mybluemix.net') does not exist.
I can browse my devices and see that they are sending data every few minutes, so clearly the connection is there. When I click on IBM Cloud Apps, I am told
There are no IBM Cloud applications bound to your organization
When I am on my IBM Cloud Dashboard and I click on Connections I see I have a connected application that is "Not Running" with a red dot. I can click Stop and the status goes to Stopped. When I click Start, after a short while,
I cannot add an another app because I can only have one.
Where did my NR app go and can I get it back (preferred) and if not, delete it?
At the suggestion of #hardillb I went looking for logs. I found them and it looks like the app is continuously started and crashing. I can't copy the text from the error logs but here is a screenshot.
The first thing you should do is get a copy of your flow source for backup. Go into the IBM Cloud Dashboard and click on Cloudant-ll (the suffix may be different?) and then Launch Cloudant Dashboard (alternatively, click on ...-cloudantNoSQLDB and then alias of Cloudant-ll). From there click on NodeRed and then select the id that ends with "/flow". Then you can extract everything inside "flow": [].
I would recommend emptying it out so you have no flows to ensure that Bluemix can start 'empty'. If you do this you will end up with something similar to mine below (don't change _rev).
{
"_id": "Home Assistant/flow",
"_rev": "102-2b38e1756eeb26def19b20858bc50a40",
"flow": []
}
Later you can paste the extracted code back into Node Red using Import > Clipboard.
You may also want to edit the ".../settings" document to remove any extra node types you installed.
Caveat - I had the same problems with Bluemix and eventually gave up - crashing at least weekly running out of memory and difficulty restarting. I suspect it can't reliably run with 256MB.
I had similar issues with log/errors and endpoint 404:
I followed Michaels advice to backup (nodered:flows and settings) in cloudant.
1. However what works(for now) was cleaning part of the nodered /settings.
2. Basically I removed the nodes part from the Json up until almost the end, leave _credentialSecret part at the end.
3. restart and go to your url, you will see your flows
4. if your flows use some nodes that produce warnings, it might be necessary to remove them to avoid future problems.
UPDATE 2: I saved every flow separately, and then deleted them all from the nodered flows. Then restarted, and have been importing one by one, and it is working.
It seems google cloud storage provides a different behavior whether a folder is access from a web client with or without a trailing /
A simple test shows a different behavior for the following link
http://gstest.tekartik.com/sub/dir (fail to load css - background is white)
http://gstest.tekartik.com/sub/dir/ (works ok - background is black)
Where the bucket has been configured using:
gsutil setwebcfg -m index.html -e 404.html gs://gstest.tekartik.com
For information it contains 3 simple files index.html/404.html/style.css where style.css only set the background to black.
They both correctly "redirect" to the url http://gstest.tekartik.com/sub/dir/index.html. However the relative path does not allow for style.css to be loaded properly in the first case.
What I would like is to have the 1st case to be redirected using a trailing / (which is what Amazon S3 does). What is needed for this to work propertly so that I can give a url to someone without worrying about whether the trailing / is entered?
as a side, this works fine as at the root level (http://gstest.tekartik.com/ got automatically renamed to http://gstest.tekartik.com as here the trailing / is not needed)
I've spoken with the engineering team and we agree this should work the way you expected. This will be fixed in the near term by adding a bucket configuration setting to enable the expected behavior (the extra config step is needed to avoid breaking any apps depending on the current behavior). We're also planning to make it easy to update the new config setting via gsutil. I can't say when exactly these changes will be available but tune into the gs-announce group to monitor these (and other) details about Google Cloud Storage. Thanks for bringing this to our attention.
Update (June 3, 2013): This has now been fixed in production.
In researching this scenario, all I could find was a suggestion that you contact Microstrategy, send them your metadata DB and ask them for the password.
This CAN'T be the only way.
Is there no way to simply reset the password in some fashion? Looking at the DSSMDUSRACCT table in the metadata DB, this appears to hold (at first glance anyway) a hashed/encrypted password, but I don't believe this is correct, as every entry for every account is the same in the PASSWD field.
Can someone suggest an alternative beyond sending a database to Microstrategy?
There isn't any alternative. We ended up in similar scenario and had Microstrategy reset the password. Password is not easily recoverable from Medadata since it is secured.
I'm not sure how many projects you have in your metadata or if you have access to another user that may have all privileges; but another option would be to create a new database, use MSTR configuration wizard to populate metadata tables, then duplicate the project across project sources into the new metadata that was just created. The Administrator user in this new metadata will have a blank password. If this is not an option then I recommend to open a support ticket (as others have suggested).
One of the things which one can try is to see any command manager script or system manager workflow. Every MicroStrategy environment may have atleast one of the above two things running in their environment. If you check the file, you may see the password for the administrator user. But in case if there is none of these being used then contacting MicroStrategy support would be the right thing to do.
Thanks,
Nikhil.
Benedict's right, there's no way they would keep passwords in plaintext in the metadata. You'll have to send it to them in a support ticket. It can take quite a few days, but they get the job done.
as soon as you get it reset use object manager, create a configuration object package for the administrator account and anytime you forget it, just redeploy the package to reset it.
You could try using the MicroStrategy Object Manager to copy the Administrator user from another project source/server to this environment.
This should do the trick if you have at least one other user with the right administrative privileges.
The other day I wanted to login to one of our applications. However, I forgot my username and password. I tried using the forgot password wizard but had no luck.
The steps I am about to walkthrough will work with most web applications with average logon security measures. It may not work with MicroStrategy, but should work if the input password is not externally verified.
So this is how I got access:
First I logged into my database manager -If you don't have access to
this... run a scan for 'password' on your server root. For Linux I
write sudo grep 'password' -roni or try: db_pass, dbpass,
database_password, etc as other search terms... The -roni will apply various filtering and
options to the search... aka line number, file name and etc. After
getting some results... find a likely file and open it to see if you
have your database details in there.
Login to your database manager. Find the table associated with your account. (This will usually have the name X_users If the password isn't hashed, just take it and login with it... if it is hashed... copy the hashed value to your clipboard.
Change the directory to your chosen applications root.
Run the scan with the search term 'password' or 'md5(' ...this will hopefully bring up a login controller file.
Edit the line within the function that takes your login input. Change the value 'md5($#####)' with '$#####', (aka removing the md5hashing of your input).
Reload the login page. Now, enter your username and hashed password copied from the database and login.
If done correctly you should now be logged into your web app.
Change the password of the account. Now go back to the login controller file and undo the chnages.
This might not be applicable with your app in question, but it's worth a shot! ....and if it isn't appropriate for your scenario... it could still be very helpful for someone else with a similar problem and different application. I just thought there's a small chance it may help someone who's locked out of one of their web applications. Rather than having to reinstall and lose data.
I'd be happy for you to improve on this or give some feedback.